package com.xinqi.modules.chat.enums.apply;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import com.xinqi.common.base.enums.BasicEnum;
import lombok.Getter;

/**
 * 好友来源
 * 1是新奇号，2是手机号，3扫码添加，4课程板块信息添加,5群聊添加
 */
public enum FriendApplyComnonEnum implements BasicEnum {
    /**
     * 课程板块-成员管理
     * 成绩管理-总成绩
     * 学情分析-学生分析
     * 通过群聊添加
     * 会话列表-删除好友、陌生人
     */
    MAY_RECOGNIZE(0, "通过可能认识的人"),

    /**
     * 搜索新奇好
     */
    XIN_QI_NUMBER(1, "通过新奇号添加"),

    /**
     * 搜索手机号、手机联系人
     */
    PHONE_NUMBER(2, "通过手机号添加"),

    /**
     * 扫描对方个人二维码
     */
    SCAN_CODE(3, "通过扫一扫添加"),

    /**
     * 通过分享的个人名片
     */
    BUSINESS_CARD(4, "通过名片分享添加");


    @Getter(onMethod_ = {@JsonValue})
    private final int code;

    @Getter
    private final String describe;

    FriendApplyComnonEnum(int code, String describe) {
        this.code = code;
        this.describe = describe;
    }

    @JsonCreator
    public static FriendApplyComnonEnum of(Integer code) {
        return BasicEnum.of(FriendApplyComnonEnum.class, code);
    }
}
